﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient;

namespace MikroGui
{
    class Transakcje
    {
        
        // Konstruktor Tworzy polaczenie wypełnia czym trzeba.
        public Transakcje() { }

        // publiczna metoda ktora powie czy odpadniecie zlecenia kupna odpowiada zrealizowanemu zleceniu.
        public bool BylaTransakcjaWykonana(DataRow dr, DataRow dr_prev)
        {
            float limit = float.Parse(dr_prev["sprzedaz_limit"].ToString());
            long wolumen = long.Parse(dr_prev["sprzedaz_wolumen"].ToString());

            MySqlDataAdapter adapter = new MySqlDataAdapter("Select * FROM agora WHERE id=" + dr["id"] + " OR id=" + dr_prev["id"], Properties.Settings.Default.mikro_zleceniaConnectionStringRoot);
            DataTable dt1 = new DataTable();
            adapter.Fill(dt1);
            if (float.Parse(dt1.Rows[0]["transakcja_kurs1"].ToString()) == limit)
                return true;
            else if (float.Parse(dt1.Rows[0]["transakcja_kurs2"].ToString()) == limit)
                return true;
            else if (float.Parse(dt1.Rows[0]["transakcja_kurs3"].ToString()) == limit)
                return true;
            else if (float.Parse(dt1.Rows[0]["transakcja_kurs4"].ToString()) == limit)
                return true;
            else if (float.Parse(dt1.Rows[0]["transakcja_kurs5"].ToString()) == limit)
                return true;
            else if (long.Parse(dt1.Rows[0]["transakcja_wolumen1"].ToString()) == wolumen)
            {
                if (float.Parse(dt1.Rows[0]["transakcja_kurs1"].ToString()) > limit)
                    return true;
            }
            else if (long.Parse(dt1.Rows[0]["transakcja_wolumen2"].ToString()) == wolumen)
            {
                if (float.Parse(dt1.Rows[0]["transakcja_kurs2"].ToString()) > limit)
                    return true;
            }
            else if (long.Parse(dt1.Rows[0]["transakcja_wolumen3"].ToString()) == wolumen)
            {
                if (float.Parse(dt1.Rows[0]["transakcja_kurs3"].ToString()) > limit)
                    return true;
            }
            else if (long.Parse(dt1.Rows[0]["transakcja_wolumen4"].ToString()) == wolumen)
            {
                if (float.Parse(dt1.Rows[0]["transakcja_kurs4"].ToString()) > limit)
                    return true;
            }
            else if (long.Parse(dt1.Rows[0]["transakcja_wolumen5"].ToString()) == wolumen)
            {
                if (float.Parse(dt1.Rows[0]["transakcja_kurs5"].ToString()) > limit)
                    return true;
            }
            else
            {
                limit = float.Parse(dr["sprzedaz_limit"].ToString());
                wolumen = long.Parse(dr["sprzedaz_wolumen"].ToString());
                if (float.Parse(dt1.Rows[1]["transakcja_kurs1"].ToString()) == limit)
                    return true;
                else if (float.Parse(dt1.Rows[1]["transakcja_kurs2"].ToString()) == limit)
                    return true;
                else if (float.Parse(dt1.Rows[1]["transakcja_kurs3"].ToString()) == limit)
                    return true;
                else if (float.Parse(dt1.Rows[1]["transakcja_kurs4"].ToString()) == limit)
                    return true;
                else if (float.Parse(dt1.Rows[1]["transakcja_kurs5"].ToString()) == limit)
                    return true;
                else if (long.Parse(dt1.Rows[1]["transakcja_wolumen1"].ToString()) == wolumen)
                {
                    if (float.Parse(dt1.Rows[1]["transakcja_kurs1"].ToString()) > limit)
                        return true;
                }
                else if (long.Parse(dt1.Rows[1]["transakcja_wolumen2"].ToString()) == wolumen)
                {
                    if (float.Parse(dt1.Rows[1]["transakcja_kurs2"].ToString()) > limit)
                        return true;
                }
                else if (long.Parse(dt1.Rows[1]["transakcja_wolumen3"].ToString()) == wolumen)
                {
                    if (float.Parse(dt1.Rows[1]["transakcja_kurs3"].ToString()) > limit)
                        return true;
                }
                else if (long.Parse(dt1.Rows[1]["transakcja_wolumen4"].ToString()) == wolumen)
                {
                    if (float.Parse(dt1.Rows[1]["transakcja_kurs4"].ToString()) > limit)
                        return true;
                }
                else if (long.Parse(dt1.Rows[1]["transakcja_wolumen5"].ToString()) == wolumen)
                {
                    if (float.Parse(dt1.Rows[1]["transakcja_kurs5"].ToString()) > limit)
                        return true;
                }
            }
            return false;
        }
    }
}
